﻿#pragma once
#include "afxdialogex.h"


// CPopMic 对话框
//#define getIsEq()				((mKc3x->Eq3[0] & 0x10) ? true : false)	// EQ调节的标志
#define getIsEq()				((mKc3x->Eq3[3] & 0x40) ? false : true)	// EQ调节的标志（如果B6是0，表示是EQ调节，如果B6是1，就是高低音调节）

class CPopMic : public CDialogEx
{
	DECLARE_DYNAMIC(CPopMic)

public:
	CPopMic(CWnd* pParent = nullptr);   // 标准构造函数
	virtual ~CPopMic();
	
// 对话框数据
#ifdef AFX_DESIGN_TIME
	enum { IDD = IDD_POP_MIC };
#endif
	bool gSaveEq;				// 控制滑块的标志
	bool gIsClick;				// 是点击选择EQ调节还是高低音调节的标志
	uint8_t gMicValue[6];		// 5代表5个类型  // 话筒声音与主声道合成比例(音乐)  // 话筒1及话筒2音量比例 // 话筒直达声及回声比例 // 话筒延迟时间及重复比例 // 话筒混响1及混响2比例 // 话筒啸叫声音反馈模式
	uint8_t gMicEqValue[16];
	int gSlowTime;
	int gEqSlowTime;
	void ShowRegister();
	int ShowMicEqSlider(uint16_t value, int slider, int top, int bottom);
	void SetMicEQ(int slider, int top, int bottom, int index);
	void SetMicValue(int slider, int edit);
	int ShowSlider(uint8_t value, int slider, int edit);

	//void ShowSelectStatus(int value, int id0, int id1);
	int GetSelectStatus(int id0, int id1);

protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

	DECLARE_MESSAGE_MAP()
public:
	virtual BOOL OnInitDialog();
	afx_msg void OnNMCustomdrawSliderMic1Vol(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderMic2Vol(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderDelayTime(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderDirectSound(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderMixer(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnTimer(UINT_PTR nIDEvent);
	afx_msg void OnNMCustomdrawSliderRepeat(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderMusic(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderEq1(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderEq2(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderEq3(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderEq4(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderEq5(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderMicBass(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMCustomdrawSliderMicTreble(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnBnClickedRadioEqOpen();
	afx_msg void OnBnClickedRadioMicOpen();
	afx_msg void OnNMCustomdrawSliderEcho(NMHDR* pNMHDR, LRESULT* pResult);
};
